# 作者: 赵若云
# 2025年02月18日14时17分19秒
# 3478783573@qq.com

name_list = ["zhangsan", "lisi", "wangwu"]
print(f'id(name_list) = {id(name_list)}')

# 查
# 1. 取值和取索引 index
# list index out of range- 列表索引超出范围
print(name_list[2])
print(name_list.index('wangwu'))

# 2. 修改
name_list[1] = "李四"
print(name_list)

# 3. 增加
# append 方法可以向列表的末尾追加数据,append无返回值
name_list.append("王小二")
print(name_list)
# insert 方法可以在列表的指定索引位置插入数据
name_list.insert(1, "王小美")
print(name_list)
# extend 方法可以把其他列表中的完整内容，追加到当前列表的末尾
temp_list = ["孙悟空", "猪二哥", "沙师弟"]
name_list.extend(temp_list)
print(name_list)
print(f'id(name_list) = {id(name_list)}')  # 地址不变

# 4. 删除
# remove 方法可以从列表中删除指定的数据
name_list.remove("wangwu")
print(name_list)
# pop 方法默认可以把列表中最后一个元素删除
name_list.pop()
print(name_list)
# pop 方法可以指定要删除元素的索引
name_list.pop(3)
print(name_list)
# del
del name_list[0]
print(name_list)
# clear 方法可以清空列表
name_list.clear()
print(f'id(name_list) = {id(name_list)}')  # 地址不变


